# 验证⽤户 最后⼀个 remember_me.py 版本假设⽤户要么
# 已输⼊其⽤户名，要么是⾸次运⾏该程序。我们应修改这个程序，以
# 防当前⽤户并⾮上次运⾏该程序的⽤户。
# 为此，在 greet_user() 中打印欢迎⽤户回来的消息之前，询问他⽤
# 户名是否是对的。如果不对，就调⽤ get_new_username() 让⽤户
# 输⼊正确的⽤户名
from pathlib import Path
import json
def get_stored_username(path):
    """如果存储了⽤户名，就获取它"""
    if path.exists():
        contents = path.read_text()
        username = json.loads(contents)
        return username
    else:
        return None

def get_new_username(path):
    """提⽰⽤户输⼊⽤户名"""
    username = input("What is your name? ")
    contents = json.dumps(username)
    path.write_text(contents)
    return username
def greet_user():
    """问候⽤户，并指出其名字"""
    path = Path('username.json')
    username = get_stored_username(path)
    if username:
        print(f"Welcome back, {username}!")
    else:
        username = get_new_username(path)
        print(f"We'll remember you when you come back, {username}!")


greet_user()